package com.datashare.dataentryods.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 多级菜单示例信息对象 t_ex_yjzfbl
 * 
 * @author lhj
 * @date 2022-02-11
 */
@TableName("t_ex_yjzfbl")
public class IYjzfbl extends BaseEntity
{
    private static final Long serialVersionUID = 1L;

    /** 地区代码 */
    @Excel(name = "地区代码")
    private String dqdm;

    /** 地区名称 */
    @Excel(name = "地区名称")
    private String dqmc;

    /** 支付比例 */
    @Excel(name = "支付比例")
    private Float zfbl;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ksrq;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd",defaultValue = "2999-12-31")
    private Date jsrq;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sjc;

    /** 多级菜单示例ID */
    @TableId(value = "yjzfbl_id", type = IdType.ASSIGN_ID)
    private Long yjzfblId;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setDqdm(String dqdm) 
    {
        this.dqdm = dqdm;
    }
    @NotBlank(message = "地区代码不能为空")
    public String getDqdm() 
    {
        return dqdm;
    }
    public void setDqmc(String dqmc) 
    {
        this.dqmc = dqmc;
    }
    @NotBlank(message = "地区名称不能为空")
    public String getDqmc() 
    {
        return dqmc;
    }
    public void setZfbl(Float zfbl) 
    {
        this.zfbl = zfbl;
    }
    @Range(min=0,max=100,message="支付比例取值范围(0%-100%)")
    public Float getZfbl() 
    {
        return zfbl;
    }
    public void setKsrq(Date ksrq) 
    {
        this.ksrq = ksrq;
    }
    @NotNull(message = "开始日期不能为空")
    public Date getKsrq() 
    {
        return ksrq;
    }
    public void setJsrq(Date jsrq) 
    {
        this.jsrq = jsrq;
    }
    //@Future(message = "结束日期必须在当前日期之后")
    public Date getJsrq()
    {
        return jsrq;
    }
    public void setSjc(Date sjc)
    {
        this.sjc = sjc;
    }

    public Date getSjc() 
    {
        return sjc;
    }
    public void setYjzfblId(Long yjzfblId)
    {
        this.yjzfblId = yjzfblId;
    }

    public Long getYjzfblId()
    {
        return yjzfblId;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("dqdm", getDqdm())
            .append("dqmc", getDqmc())
            .append("zfbl", getZfbl())
            .append("ksrq", getKsrq())
            .append("jsrq", getJsrq())
            .append("sjc", getSjc())
            .append("yjzfblId", getYjzfblId())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
